package General;

import java.io.IOException;
import java.rmi.AccessException;
import java.rmi.NotBoundException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Vector;

public interface ProxyInterface extends Remote {
	QuoteInterface quote(Product product, Address source, Address destination) throws RemoteException, NotBoundException;
	boolean request(Product product, EventInterface event) throws RemoteException, NotBoundException, IOException;
	String status(Product product) throws RemoteException, NotBoundException;
	void changeRates(int rateGround, int rateAir, int rateAirPriority) throws RemoteException, NotBoundException, IOException;
	Vector<Product> pendingShipments() throws AccessException, RemoteException, NotBoundException;
	ShipInterface getServer(int index) throws AccessException, RemoteException, NotBoundException;
}
